#include "MochilaGeral.h"

MochilaGeral::MochilaGeral(void)
{
}

int MochilaGeral::getCapacidade()
{
	return capacidade;
}

int MochilaGeral::getPesoActual()
{
	return pesoActual;
}

void MochilaGeral::setPesoActual(int peso)
{
	pesoActual = peso;
}

int* MochilaGeral::getMinerios()
{
	return minerios;
}

void MochilaGeral::addMinerio(int i)
{
	switch(i)
	{
	case 0:
		addAluminio(1);
		break;
	case 1:
		addCarvao(1);
		break;
	case 2:
		addFerro(1);
		break;
	case 3:
		addOuro(1);
		break;
	case 4:
		addDiamante(1);
		break;
	}
}

void MochilaGeral::setAluminio(int quantidade)
{
	if(quantidade < 0 || quantidade > capacidade)
		return;

	minerios[0] = quantidade;
	pesoActual += quantidade;
}

void MochilaGeral::addAluminio(int quantidade)
{
	if(quantidade < 0 || quantidade + pesoActual > capacidade)
		return;

	minerios[0] += quantidade;
	pesoActual += quantidade;
}

int MochilaGeral::getAluminio()
{
	return minerios[0];
}

void MochilaGeral::setCarvao(int quantidade)
{
	if(quantidade < 0 || quantidade > capacidade)
		return;

	minerios[1] = quantidade;
	pesoActual += quantidade * 2;

}

void MochilaGeral::addCarvao(int quantidade)
{
	if(quantidade < 0 || quantidade + pesoActual > capacidade)
		return;

	minerios[1] += quantidade;
	pesoActual += quantidade * 2;
}

int MochilaGeral::getCarvao()
{
	return minerios[1];
}

void MochilaGeral::setFerro(int quantidade)
{
	if(quantidade < 0 || quantidade > capacidade)
		return;

	minerios[2] = quantidade;
	pesoActual += quantidade * 3;
}

void MochilaGeral::addFerro(int quantidade)
{
	if(quantidade < 0 || quantidade + pesoActual > capacidade)
	minerios[2] += quantidade;
	pesoActual += quantidade * 3;
}

int MochilaGeral::getFerro()
{
	return minerios[2];
}

void MochilaGeral::setOuro(int quantidade)
{
	if(quantidade < 0 || quantidade > capacidade)
		return;

	minerios[3] = quantidade;
	pesoActual += quantidade * 4;
}

void MochilaGeral::addOuro(int quantidade)
{
	if(quantidade < 0 || quantidade + pesoActual > capacidade)
		return;

	minerios[3] += quantidade;
	pesoActual += quantidade * 4;
}

int MochilaGeral::getOuro()
{
	return minerios[3];
}

void MochilaGeral::setDiamante(int quantidade)
{
	if(quantidade < 0 || quantidade > capacidade)
		return;

	minerios[4] = quantidade;
	pesoActual += quantidade * 4;
}

void MochilaGeral::addDiamante(int quantidade)
{
	if(quantidade < 0 || quantidade + pesoActual > capacidade)
		return;

	minerios[4] += quantidade;
	pesoActual += quantidade * 4;
}

int MochilaGeral::getDiamante()
{
	return minerios[4];
}